﻿using Basic.FormModel.DB;
using Basic.FormRemoteModel.PhysicalGroup.Model;
using WeDonekRpc.Model;

namespace Basic.FormCollect
{
    public interface IPhysicalFormGroupCollect
    {
        long Add ( PhysicalGroupSet obj );
        void Delete ( DBPhysicalFormGroup source );
        DBPhysicalFormGroup Get ( long id );
        Result Get<Result> ( long id ) where Result : class, new();
        Result[] GetEnables<Result> () where Result : class, new();
        Result[] Query<Result> ( PhysicalGroupQuery query, IBasicPage paging, out int count ) where Result : class;
        bool Set ( DBPhysicalFormGroup source, PhysicalGroupSet obj );
        void SetIsEnable ( DBPhysicalFormGroup source, bool isEnable );
    }
}